Event scheduling

ABSTRACT

An apparatus is provided for use in scheduling events on behalf of a plurality of participating physical entities. The apparatus comprises evaluating means and scheduling means, the evaluating means being arranged to evaluate a received event request containing information about the event and to generate an input to the scheduling means with respect to one or more physical entities identified in the received event request. The evaluating means is arranged, on behalf of physical entities identified in the received event request, to calculate a value for each of a plurality of predetermined measures, including a measure of the importance of the requested event to an identified entity, using an appropriate rule set for each measure, and using a further rule set, to combine the calculated values and so derive and output a value representative of the overall degree of support by the identified physical entity for the requested event, for input to the scheduling means. Preferably, the apparatus uses fuzzy processing techniques to calculate the various values, represented as fuzzy sets. The fuzzy sets, fuzzy rules and rule weightings are personalised to individual participants, or groups, to enable adjustment of the evaluating means based upon participant feedback.

This invention relates to scheduling of events on behalf ofparticipating entities and in particular to a method for evaluatingevent proposals on behalf of such entities.

There are a number of known techniques for scheduling meetings andsimilar types of event. For example, it is known to apply various typesof optimisation algorithm to the problem of finding a meeting slot thatsatisfies constraints on participant availability. More sophisticatedtechniques are able to consider meeting location and the identity ofother invited participants, besides time-related parameters, whenattempting to define a meeting acceptable to some degree to a group ofmeeting invitees. However, in view of the escalating difficulty insatisfying participant constraints as the number of potentialparticipants increases, the types of event parameter generallyconsidered in known scheduling techniques is necessarily restricted, forexample to a consideration of meeting time, location and the identity ofother invitees.

In order to “soften” the constraints to be taken into account whenattempting to define the parameters of a meeting, it is known to takeaccount of participant preferences relating to day, time and duration,for example, and to define such preferences as fuzzy sets. Fuzzy logicprocessing is then applied to combine a participant's preferences withrespect to the parameters in a meeting proposal to determine the degreeto which the participant's preferences are satisfied overall. Theresults of this analysis are then used to decide whether or not themeeting proposal is acceptable. This function may be performed by asoftware agent acting on behalf of a potential meeting participant.

However, binary-style responses are not particularly useful when thescheduler is attempting to find the best possible meeting, e.g. whenattempting to set up a meeting with as many of the invited participantsas possible (for, say, 100 invitees). For example, 90 people attendingat 10:00 am on a Monday may be better than 91 people at 4:30 pm on aFriday, or 70 people attending with all the senior managers present maybe better than 90 people with none.

According to a first aspect of the present invention, there is providedan event scheduling apparatus for use in scheduling events on behalf ofa plurality of participating physical entities, the apparatus comprisingevaluating means and scheduling means, the evaluating means beingarranged to evaluate a received event request comprising informationabout the event and to generate an input to the scheduling means withrespect to one or more physical entities identified in the receivedevent request, the evaluating means comprising determining meansoperable on behalf of at least one physical entity identified in thereceived event request, to:

a) determine a value for each of a plurality of predetermined measures,said measures including a measure of the importance of the requestedevent to said at least one physical entity, the value for each saidmeasure being derived according to a rule set for the measure bycombining information about the event with data obtained from at leastone information source associated with said at least one physicalentity; and

b) combine said determined values, according to a further rule set, toderive a value indicative of the overall degree of support by said atleast one physical entity for the requested event, and to output saidderived value for input to the scheduling means,

wherein at least one of said values is defined by means of a fuzzy set,at least one of said rule sets comprise at least one fuzzy rule andwherein said determining means comprise at least one fuzzy logicprocessor.

In a preferred embodiment of the present invention, the determiningmeans are implemented, in use, as a plurality of participant softwareagents, each participant software agent being operable on behalf of atleast one physical entity identified in the received event request.Additionally, the evaluating means may further comprise a proposersoftware agent operable to receive an event request and, for one or morephysical entities identified therein, to:

i) determine a value for a measure of the importance of the identifiedphysical entity to the requested event, each said value being derivedaccording to a rule set for said measure by combining information aboutthe event with data obtained from at least one information sourceassociated with the identified physical entity; and

ii) generate an event proposal comprising the importance value from i)together with information about the event, for sending to the respectiveparticipant software agent for the identified physical entity.

A successful meeting agent (a “participant” or “attendee” agent) needsto usefully combine information from a variety of sources to assignimportance and preference values to proposed meetings and time slots.Prior art has included methods for assigning preferences based on timeand acquaintances but these need to be specified by the user. They havenot included importance factors with respect to i) each attendee and/orii) the meeting to the user.

It is particularly advantageous to use fuzzy processing techniques toimplement preferred embodiments of the present invention when attemptingto schedule events that are likely to involve a number of physicalentities for which there are multiple constraints or preferences to betaken into account. Certain constraints and preferences are inherentlyimprecise concepts, each contributing to a differing extent to anoverall measure of whether a particular entity is “supportive” of arequested event. Hence the use of fuzzy rules to combine fuzzyrepresentations of certain predetermined measures likely to influence anentity's participation in a given event makes for a more flexible andeasily adjustable scheduling system.

Preferably, in the event scheduling apparatus, the evaluating meansfurther comprise adjusting means arranged to receive feedback by, or onbehalf of, a physical entity in relation to an output by the schedulingmeans corresponding to a received event request in which said physicalentity is identified, and to make adjustments to fuzzy sets and/or ruleweightings in accordance with said received feedback.

Self-adaptivity of a meeting agent has been shown to be highlyadvantageous in that it greatly reduces the quantity of user inputrequired to fine-tune operation of the agent operating on the usersbehalf.

Preferred embodiments of the present invention provide: i) a method ofaugmenting a meeting proposal to assign importance values to potentialattendees; ii) means of calculating the importance value of a meeting toa user; iii) combining exterior sources of information with diaryinformation to reply to a meeting proposal in a nuanced manner usingfuzzy rules; and iv) a method for adapting these fuzzy rules givenfeedback from the user.

An attendee (participant) agent according to preferred embodiments ofthe present invention is arranged to find appropriate preferenceinformation in respect of each meeting invitee and to combine thatinformation to form an appropriate output which can be used by manyknown scheduling methods. The attendee agent uses exterior informationto estimate factors relevant to a proposed meeting slot. In particularthe agent decides on importance of the meeting to the user andimportance of the user to the meeting on behalf of each invitee. Aproposer agent uses fuzzy systems to combine exterior information toaugment a meeting proposal. The attendee agent uses a learned overallbusyness of each invitee from responses to previous proposals. Itcombines this information with the position of each invitee within arespective organisation or within an acquaintance list to assign a valuecorresponding to the importance of invitee to the meeting for eachinvitee.

The preferred attendee agent uses fuzzy systems to combine calendar,slot preference and importance information and to respond to a meetingproposal with a value in the range [0,1] (where 0 means “cannot attend”and 1 means “can attend, and this is the ideal time”). The attendeeagent uses exterior information to estimate importance, busyness andavailability values from exterior information (e.g. diary, user interestprofile, organisation chart.)

An advantageous feature of preferred embodiments of the presentinvention is adaptability and tolerance for uncertainty. The processesdescribed in the detailed description below use what is known as “softcomputing” techniques. These techniques provide for linguisticdefinition of intervals as well as mechanisms to adapt the mappingbetween intervals and linguistic terms. For example the meaning of theword “High” depends upon the context and the usage, e.g. temperature ofa room in comparison with the temperature of a furnace. The reason whythese techniques are useful in the context of meeting evaluation isbecause of their power to summarise, so that simple rules may be used tohandle large intervals. Typically this makes the resultant softwareagents easier to develop, interpret and maintain.

According to a second aspect of the present invention, there is provideda software agent operable in a computer processing arrangement on behalfof at least one physical entity to evaluate event requests received overa communications network and to output a value for use by an eventscheduler indicative of the overall degree of support by said at leastone physical entity for a respective requested event, wherein thesoftware agent is responsive, on receipt of an event request comprisinginformation about the event, to apply fuzzy logic processing techniquesto combine information about the requested event with informationobtained from a plurality of information sources associated with said atleast one physical entity to determine a value for each of a pluralityof predetermined measures, said measures including a measure of theimportance of the requested event to said at least one physical entity,the value for at least one of said measures being defined by a fuzzy setand the value for at least one of said measures being derived accordingto a fuzzy rule for the measure, and to apply a further rule setcomprising at least one fuzzy rule to combine said values of saidmeasures to derive and output a value indicative of the overall degreeof support by said at least one physical entity for the requested eventfor input to an event scheduler.

Preferably, said software agent is also operable to receive an output byan event scheduler generated by the scheduler in respect of a requestedevent using a respective said value indicative of the overall degree ofsupport by said at least one physical entity for the requested event andto adjust one of more fuzzy sets or fuzzy rules in respect of said atleast one physical entity according to feedback received on behalf ofsaid at least one physical entity in respect of said output by the eventscheduler.

Preferred embodiments of the present invention will now be described, byway of example only, with reference to the accompanying drawings ofwhich:

FIG. 1 shows an arrangement of software agents for use in generatingresponses to a meeting request according to preferred embodiments of thepresent invention;

FIG. 2 shows a proposer agent apparatus according to a preferredembodiment of the present invention;

FIG. 3 is shows an attendee agent apparatus according to a preferredembodiment of the present invention;

FIG. 4 is a diagram representing the data entities involved in theoperation of a preferred proposer agent;

FIG. 5 is a diagram representing the data entities involved in theoperation of a preferred attendee agent;

FIG. 6 shows three flow diagrams defining steps involved in threedifferent types of attendee feedback in response to a scheduled meetingaccording to a preferred embodiment of the present invention;

FIG. 7 is a flow diagram showing preferred steps in adapting fuzzy rulesand/or rule weights in response to received attendee feedback;

FIG. 8 is a flow diagram showing steps in updating a fuzzy setrepresentative of a preferred measure of user busyness according to apreferred embodiment of the present invention; and

FIG. 9 is a flow diagram showing steps in updating a fuzzy setrepresentative of preferred measures of importance according to apreferred embodiment of the present invention.

Preferred embodiments of the present invention will now be described inthe specific context of their application to the generation andevaluation of meeting proposals, wherein the results of the evaluationare useable by known schedulers. However, it would be clear to a personof ordinary skill in the art that the present invention may be modifiedto generate and evaluate proposals for other types of event to bescheduled.

A simple arrangement of software agents for use in generating responsesto a meeting request according to preferred embodiments of the presentinvention will now be described in outline with reference to FIG. 1. Thepreferred arrangement of FIG. 1 is intended to show that functionalityfor generating meeting proposals is preferably implemented separatelyfrom functionality for evaluating meeting proposals so generated. Anypreferred external sources of information to be used by the softwareagents are omitted from FIG. 1.

Referring to FIG. 1, a proposer agent 100 is arranged to receive ameeting request 105 issued by a user or by another software agent. Themeeting request 105 comprises parameters defining those characteristicsof the meeting that the requester wishes to specify. In particular, themeeting request 105 preferably comprises an indication of a date, timeand duration of the requested meeting, its proposed location and a listof invitees. Optionally, the meeting request 105 may also comprise anindication of the meeting topic and an agenda for the meeting. Theproposer agent 100 is arranged to augment the received meeting request105 with at least one further parameter in respect of each invitee orgroup of invitees and to generate a respective meeting proposal 110 foreach invitee or group of invitees, as will be described below accordingto a preferred embodiment of the present invention. The proposer agent100 is arranged to pass each generated meeting proposal 110 to anattendee agent 115 representing the respective invitee or group ofinvitees. Each attendee agent 115 is arranged to evaluate a receivedmeeting proposal 110 and to generate a response to the proposal 110 onbehalf of the respective invitee or group of invitees comprising a valuein the range [0,1]. A preferred technique for evaluating a meetingproposal and for generating the response value will be described belowaccording to a preferred embodiment of the present invention. Theresponse values are intended for use by a meeting scheduler agent, notshown in FIG. 1, to enable an attendee list to be determined andcommunicated to the meeting requester and to the attendees themselves. Apreferred technique by which attendees on the determined list mayprovide feedback, for example to request a reschedule of the requestedmeeting (105) or to request adjustment of particular meeting parameters,will also be described below according to a preferred embodiment of thepresent invention.

An apparatus for implementing preferred functionality of a proposeragent 100 will now be described with reference to FIG. 2 according to apreferred embodiment of the present invention.

Referring to FIG. 2, a proposer agent 100 is shown, arranged to receivemeeting requests 105 and arranged with access to a store 210 of fuzzyrules and rule weights, a store 215 for containing organisationalinformation in respect of at least some of the invitees specified in areceived meeting request 105 and a store 220 for containing information,gathered by the proposer agent 100 for example, relating to theattendance history of meeting invitees. As will be described below,preferred embodiments of the proposer agent 100 are arranged to processinformation contained in the stores 210-220, using conventional fuzzyprocessing techniques, to generate one or more meeting proposals 110corresponding to a received meeting request 105. The meeting proposal110 may comprise a single proposal for sending to all attendee agents115, or a plurality of meeting proposals 110 may be generated, each oneindividually tailored to an invitee or group of invitees and directed totheir respective attendee agents 115.

A apparatus for implementing preferred functionality of an attendeeagent 115 will now be described with reference to FIG. 3 according to apreferred embodiment of the present invention.

Referring to FIG. 3, an attendee agent 115 is shown, arranged to receivea meeting proposal 110 in respect of a particular invitee or group ofinvitees. The attendee agent 115 is arranged with access to a store 315of fuzzy rules and rule weights, a store 320 for containing user profileinformation for at least some of the invitees specified in the meetingproposal 110, a store 325 for containing organisational information inrespect of at least some of the invitees specified in the meetingproposal 110, the store 325 being preferably the same store 215 as usedby the proposer agent 100 in FIG. 2, and to at least one diary agent 330in respect of invitees specified in the meeting proposal 110. As will bedescribed below, preferred embodiments of the attendee agent 115 arearranged to process information contained in the stores 315-325, andsupplied by the diary agent 330, using conventional fuzzy processingtechniques to generate a response to the received meeting proposal 110comprising a value preferably in the range [0,1] for the respectiveinvitee or group of invitees.

Operation of a proposer agent 100 according to a preferred embodiment ofthe present invention will now be described in more detail withreference to FIG. 4.

Referring to FIG. 4, and additionally to FIG. 2, the preferred proposeragent 100 comprises a fuzzy processor 400 arranged to implement aconventional fuzzy processing technique (see reference above), withreference to fuzzy rules and fuzzy sets 405 and corresponding ruleweights 410, to combine data entities relating to and derived frommeeting request parameters 415 in order to generate a meeting proposal110. As mentioned above, the fuzzy processor 400 operates to augment theparameters 415 supplied in a meeting request 105 with at least onefurther parameter derived in respect of each invitee or group ofinvitees specified in the meeting parameters 415. Preferably the fuzzyprocessor 400 is arranged to use a different set of fuzzy rules 405 andcorresponding rule weights 410 to generate each further parameter. Therule weights 410 may be personalised to each invitee to enable theperformance of the proposer agent 100 to be personalised. Alternatively,a single set of rule weights 410 may be used, enabling the performanceof the proposer agent 100 to be adjusted on a broader basis, e.g. withrespect to an organisation as a whole.

The fuzzy processor 400 is arranged, in particular, to generate afurther parameter, preferably in the form of a fuzzy set, indicative ofthe importance of each invitee to the meeting requested (105, 415).Preferably, the invitee importance parameter is derived by combininginformation 420 defining a respective invitee's position in a respectiveorganisation, obtained from a store 215 containing organisationalinformation, with information 425 relating to the invitee's attendancehistory at previous meetings, in particular meetings attended by one ormore of the other invitees specified in the meeting request 105,obtained from a store 220 containing user attendance history data, andwith the other parameters 415 in the meeting request 105 relating tomeeting time and duration.

Preferably, a fuzzy rule 405 of the following type is used by the fuzzyprocessor 400 to derive a value indicative of an invitee's importance tothe requested meeting (105, 415): IF seniority_of_attendee is HIGH ANDregularity_of_attendee is HIGH THEN importance_of_attendee is HIGH

Fuzzy sets are included within the fuzzy rule store 210 to define themeaning of HIGH in respect of each parameter of the rule. Other fuzzysets may define for example “LOW” as required by different fuzzy rules405. Preferably, fuzzy sets used in the conditional portion (“IF”portion) of a rule are personalised to each invitee or group of inviteesso that the information 420 and 425 may be interpreted in a personalisedmanner by the fuzzy processor 400. A “high” attendance rate for oneinvitee may be quite different to that for another.

Having applied the fuzzy rule 405 in respect of each invitee or group ofinvitees specified in the meeting request parameters 415, the userimportance parameters so determined are included, along with the othermeeting request parameters 415, in a meeting proposal 110 output by thefuzzy processor 400. As mentioned above, this meeting proposal 110 maycomprise a single proposal to be directed to the attendee agents 115representing each of the specified invitees, or it may be personalisedso some extent, for example to remove certain pieces of confidentialinformation in respect of certain invitees, or simply to generate a morepersonalised meeting proposal 110 in respect of particular invitees.

The fuzzy processor 400 may also be arranged to receive user feedback430 from invitees and to use the feedback 430 both in the generation offurther meeting proposals 110 and in updating personalised rule weights410 and fuzzy sets 405. A preferred process for handling user feedback430 will be described below.

Operation of an attendee agent 115 according to a preferred embodimentof the present invention will now be described in more detail withreference to FIG. 5. Preferably, the attendee agent 115 operates onbehalf of a single invitee or group of invitees to generate a responseto a received meeting proposal 110 that is usable by a meetingscheduler.

Referring to FIG. 5, and additionally to FIG. 3, the preferred attendeeagent 115 comprises a fuzzy processor 500 arranged to implement aconventional fuzzy processing technique (see reference above), withreference to fuzzy rules and fuzzy sets 505 and corresponding ruleweights 510, to combine a predetermined set of data entities in order togenerate and output a response to the received meeting proposal 110 inthe form of a value in the range [0,1]. The set of data entities to becombined by the fuzzy processor 500 relate to and are derived frominformation contained in a received meeting proposal 110, preferablywith reference to the information sources 320-330 shown in FIG. 3,according to weighted fuzzy rules stored in fuzzy rule store 315. Theset of data entities comprises parameters taken directly from thereceived meeting proposal 110 itself and parameters separately derived,preferably by the fuzzy processor 500 in a pre-processing step, onreceipt of the meeting proposal 110. As with the proposer agent 100above, the fuzzy processor 500 is arranged to use a different fuzzy ruleset 505 and corresponding rule weights 510 to generate each of the dataentities that need to be separately derived and a further rule set 505and rule weights 510 to generate the response to the meeting proposal110. The rule weights 510 and any fuzzy sets corresponding to the fuzzyrules 505 are preferably personalised to the individual invitee or groupof invitees represented by the attendee agent 115 to enable itsperformance to be personalised.

The following set of data entities is used by the fuzzy processor 500 todetermine a response value for a meeting proposal 110, on behalf of theinvitee or group of invitees, according to a preferred embodiment of thepresent invention:

Busyness of Invitee at the Proposed Time 515

this parameter has a value in the range [0,1] derived, preferably, bythe fuzzy processor 500 using a corresponding fuzzy rule 505 and ruleweight 510 to combine information obtained from a user diary agent 330relating to the invitee's diary commitments at or around the proposedmeeting time, and from historical information (e.g. obtained from thestore 220 of user attendance history shown in FIG. 2) of responses toprevious meeting proposals involving one or more of the invitee(s);

Importance of Invitee to the Meeting 520

this parameter has a value in the range [0,1] and was determined by theproposer agent 100 in respect of the invitee or group of invitees andsupplied in the received meeting proposal 110;

Availability 525

this parameter comprises a fuzzy set {true, false} indicating the degreeof support for whether the invitee is available (true) and not available(false). Preferably, this parameter is derived by the fuzzy processor500 using a corresponding fuzzy rule 505 and rule weight 510 to combineinformation drawn from one or more sources identifying reasons, otherthan purely temporal, that may affect the invitee's availability, forexample being located too far away to be able to travel conveniently tothe proposed meeting location;

Preferences 530

this parameter has a value in the range [0,1] derived, preferably, bythe fuzzy processor 500 using a corresponding fuzzy rule 505 and ruleweight 510 to combine information derived, in particular, with access toa user profile store 320 relating not only to the invitee's interests,as compared with the topic or agenda of the proposed meeting 110, butalso to preferences for particular times of day, days of the week,locations, etc. as compared with the corresponding parameters in themeeting proposal 110 (insofar as they are specified);

Importance of Meeting to the Invitee 535

this parameter has a value in the range [0,1] derived, preferably, bythe fuzzy processor 500 using a corresponding fuzzy rule 505 and ruleweight 510 to combine, for example, information about the invitee'sposition in the organisation, obtained from the store 325 oforganisational information, with information obtained from the userprofile store 320 regarding the invitee's interests, and informationrecording the invitee's regular meeting partners, stored for example inthe user attendance history store 220 accessible also to the proposeragent 100. A fuzzy rule 505 of the type IF seniority_of_any_invitee isHIGH AND number_of_regular_attendees is HIGH ANDmatch_of_agenda_to_user_profile is HIGH THEN imporance_of_meeting isHIGHmay be used to determine a value in the range [0,1] for this parameter.As above, fuzzy sets 505, personalised to the invitee or group ofinvitees represented by the attendee agent 115, are stored to define themeaning of HIGH in respect of each parameter tested by the rule 505. Ifthe result of applying this rule 505 is a fuzzy set HIGH, then this maybe translated into a value for output, in the range [0,1], chosen torepresent “HIGH”. This value may be adjusted in response to feedback 540by the represented invitee or group of invitees to enable theperformance of the attendee agent 115 to be fine-tuned.

A preferred process by which user feedback 540 may be used to adjustrule weights 510 and fuzzy sets (505), and hence the operation of thefuzzy processor 500, will be described below.

Once values or fuzzy sets have been obtained or derived to representeach of the data entities 515-535 for the invitee, the fuzzy processor500 applies one or more fuzzy rules 505 and corresponding rule weights510 to combine the values for each of the data entities 515-535 in orderto generate the response value to the meeting proposal 110 on behalf ofthe represented invitee(s). Preferably, a fuzzy rule 505 of the type IFbusyness_of_user at time t IS low AND importance_to_user IS high ANDavailability_of_user at time t IS true AND importance_of_user IS highAND time preference of user at time t IS high THENaccept_proposal_support IS HIGHis used to combine the values 515-535, where the time t is the proposedtime of the meeting in the received meeting proposal 110. As above, thefuzzy set “HIGH” is converted into a value in the range [0,1] foroutput, a value that may be adjusted through feedback 540 by therepresented invitee(s) to fine-tune the performance of the attendeeagent 115. The output value is usable according to a number of differentknown scheduling techniques when attempting to determine the optimallist of attendees for a requested meeting (105) and such schedulingtechniques will not be described in the present patent specification.

A process will now be described, according to a preferred embodiment ofthe present invention, by which invitees may provide feedback 430, 540to the proposer agent 100 and, more particularly, to their attendeeagent 115, respectively, to trigger an adjustment to the response of theagents 100, 115 to a received meeting request 105. Preferably, aninvitee or group of invitees provides appropriate feedback 430, 540 oncethe effect of the respective agent's response has been determined inrespect of that invitee or group of invitees, i.e. once the inviteebecomes aware of the output of the scheduler and is either included ornot included in a determined list of attendees for the requested meeting(105), scheduled to take place at a particular time and place.

Preferably, invitee feedback 430, 540 may comprise one of the followingresponses:

1) invitee asks for reschedule of meeting

2) invitee accepts schedule but “with reservations”

3) invitee declines invitation

4) acceptance/no feedback.

In case 4) it is assumed that the attendee agent 115 has given thecorrect response and no further action is required. In cases 1)-3) theattendee agent 115 may be arranged to initiate a dialogue with theinvitee to discover which of its assumptions need updating, i.e. whichrule weights 510 or fuzzy sets (505) need to be adjusted. In case 1) theproposer agent 100 may also request a reschedule from the scheduler.

Preferably, an invitee responds either by a) explicitly, answering amessage from the attendee agent 115 describing the parameters of ameeting it has “agreed to” (generated a high value) or b) implicitly, byaltering or commenting on an entry made in the invitee's diary (330).The different invitee responses will now be described with reference toFIG. 6.

Referring to FIG. 6 a, corresponding to invitee response 1) above, theinvitee firstly, at STEP 600, requests a reschedule of the meeting. AtSTEP 605 the attendee agent 115 responds to the request by initiating adialogue with the invitee to enable its rule base 505, 510 to beadjusted. Having completed the adjustment, at STEP 610 the attendeeagent 115, or the proposer agent 100, requests a rescheduling of themeeting by the scheduler system.

Referring to FIG. 6 b, corresponding to invitee response 2) above, theinvitee firstly, at STEP 620, accepts the scheduled meeting but withreservations. At STEP 625, the attendee agent 115 initiates a dialoguewith the invitee to enable its rule base 505, 510 to be adjusted inaccordance with the invitee's reservations.

Referring to FIG. 6 c, corresponding to invitee response 3) above, theinvitee firstly, at STEP 630, declines the invitation. At STEP 635, theattendee agent 115 initiates a dialogue with the invitee to enable itsrule base 505, 510 to be adjusted, where necessary, in accordance withthe invitee's reasons for rejection.

In each of the three types of response shown in FIG. 6, a dialogue andadjustment step 605, 625, 635 is carried out by the attendee agent 115on behalf of the invitee. A preferred process for carrying out thesedialogue and adjustment steps 605, 625, 635 will now be described inmore detail with reference to FIG. 7.

Referring to FIG. 7, at STEP 700 the attendee agent receives an inviteeresponse 600, 620, 630 indicating that, to some degree, the attendeeagent 115 has generated an incorrect response to a received meetingproposal 110. At STEP 705, the attendee agent 115 asks the inviteewhether the value for the parameter Busyness of invitee at proposed time515 was correct. If not, then at STEP 710 a process is executed by theattendee agent 115 to update the fuzzy rules 505, 510 relating to thisparameter 515, as will be described below with reference to FIG. 8. Ifthe parameter 515 was correct, then at STEP 715, the attendee agent 115asks the invitee whether the values for the parameter Importance ofmeeting to the invitee 535 was correct. If not, then at STEP 720 aprocess is executed by the attendee agent 115 to update the fuzzy rules505 and weights 510 relating to this parameter 535, as will be describedbelow with reference to FIG. 9. If the parameter 535 was correct, thenat STEP 725, the attendee agent 115 asks the invitee whether thedetermined value for the invitee's Preferences parameter 530 for theproposed meeting time was correct. If not, then at STEP 730, theattendee agent 115 may be arranged, for example, to update the invitee'spersonalised fuzzy sets (505). For example, if the invitee indicatesthat the preference parameter value 530 was too high, then themembership value in the fuzzy set representing “HIGH” may be decreased;if too low, then the membership value may be increased. Alternatively,fuzzy representations of preferences stored in the user profile store320 may be updated insofar as they relate to the proposed meeting time,e.g. a fuzzy preference for Tuesdays may need to be adjusted upwards ordownwards, as appropriate.

If the parameter 530 was correct at STEP 725, then at STEP 735, theattendee agent 115 asks the invitee whether the fuzzy membership valuesfor the parameter Availability 525 were correct, If so, then at STEP740, the fuzzy rules 505 and rule weights 510 may be adjusted overall toreinforce the likelihood of the attendee agent 115 generating a similarresponse to a similar subsequent meeting proposal 110. In particular,updates may be carried out by the fuzzy processor 500 by applying a ruleof the type IF X is LOW AND y is HIGH AND z is MEDIUM THENproposal_support is HIGH with weight Wwhere x, y and z are fuzzy indications by the invitee of the correctnessof the parameter values in questions 705, 715 and 725 above,respectively. The fuzzy processor 500 is arranged to make overalladjustments as follows:i) locate rules 505 which fire with highest fuzzy value V, decreasingthe corresponding rule weights 510; andii) locate rules 505 which fire with lower fuzzy values than V,increasing their rule weights 510.

A preferred process for carrying out updating STEP 710 in relation tothe busyness parameter 515 will now be described with reference to FIG.8.

Referring to FIG. 8, at STEP 800 the attendee agent 115 presents to theinvitee the value of the busyness parameter 515 and the meetingparameters of time and duration. At STEP 805, the agent 115 asks theinvitee if the fuzzy value B1 representing the invitee's busyness onthat day is correct. If the invitee indicates not, then at STEP 810, thefuzzy processor 500 is arranged to make an appropriate update to thecorresponding fuzzy set. For example, if a busy_day fuzzy set isindicated by a fuzzy membership value of greater than 1, then if thederived parameter value for busyness 515 is too high, then themembership value for the busy_day fuzzy set may be adjusted downwards.Conversely, if the derived value 515 is too low, then the membershipvalue for the busy_day fuzzy set may be adjusted upwards.

If at STEP 805, the busyness parameter 515 was correct, then at STEP 815the agent 115 asks if the fuzzy value B2 representing the invitee'sbusyness on that week is correct. if not, then at STEP 820, a similarupdating step is carried out to that in STEP 810 above. If at STEP 815the parameter value was also correct, then at STEP 825, a similar“reinforcing” update is made to the corresponding rules 505 and weights510 as in STEP 740 of FIG. 7 above.

A preferred process for carrying out updating STEP 720 will now bedescribed with reference to FIG. 9.

Referring to FIG. 9, at STEP 900, the attendee agent 115 asks if theinvitee importance parameter value was correct. If not, then at STEP905, a fuzzy set corresponding to the invitee's importance in theorganisation may be updated, e.g. if the agent 115 predicted a valuethat was too low, then the fuzzy membership value associated with theinvitee may be increased, or decreased if the predicted value was toohigh.

If, at STEP 900 the value was correct, then at STEP 910 the agent 100asks if the rating of meeting subject importance was correct. If not,then at STEP 915 a corresponding update to fuzzy membership values ismade, otherwise, at STEP 920, the agent 115 determines whether a meetingagenda was included in the original meeting request 105. If so, then atSTEP 925 the attendee agent 115 asks the invitee if the importance valuefor the agenda was determined to be correct. If not, then at STEP 930 acorresponding update to fuzzy membership values is made, otherwise, atSTEP 935, a similar “reinforcing” update is made to the correspondingrules 505 and weights 510 as in STEP 740 of FIG. 7 above.

The processes for updating fuzzy rules and fuzzy sets in FIGS. 7 to 9above may be extended to other meeting attributes, besides thosespecifically described. The general approach is to present the agent's(115) prediction of a particular parameter to the invitee. If thisprediction does not match with the invitee's assessment then the fuzzyrules for that parameter are updated either by a) adjusting themembership values of the fuzzy sets (505), or b) adjusting the weights510 corresponding to the rules 505. In the case where the inviteeconcurs with all the agent's assessments, but the final response to ameeting proposal 110 by the agent 115 is not correct, then the overallrule base 505, 510 is updated accordingly.

There are a number of variations to preferred embodiments of the presentinvention described above that would be apparent to a person of ordinaryskill in the art. For example, while the roles of proposer agent 100 andattendee agent 115 have been described as operating separately, then mayof course be combined into a single software agent implementation whilestill treating the evaluation of a proposed meeting slot separately fromthe scheduling of the meeting. It would also be apparent that othercombinations of parameters may be used to derive measures relevant tothe evaluation of a meeting proposal 110 which continuing to employ theadvantageous techniques of fuzzy processing and fuzzy representationused in preferred embodiments of the present invention.

1. An event scheduling apparatus for use in scheduling events on behalfof a plurality of participating physical entities, the apparatuscomprising evaluating means and scheduling means, the evaluating meansbeing arranged to evaluate a received event request comprisinginformation about the event and to generate an input to the schedulingmeans with respect to one or more physical entities identified in thereceived event request, the evaluating means comprising determiningmeans operable on behalf of at least one physical entity identified inthe received event request, to: a) determine a value for each of aplurality of predetermined measures, said measures including a measureof the importance of the requested event to said at least one physicalentity, the value for each said measure being derived according to arule set for the measure by combining information about the event withdata obtained from at least one information source associated with saidat least one physical entity; and b) combine said determined values,according to a further rule set, to derive a value indicative of theoverall degree of support by said at least one physical entity for therequested event, and to output said derived value for input to thescheduling means, wherein at least one of said values is defined bymeans of a fuzzy set, at least one of said rule sets comprise at leastone fuzzy rule and wherein said determining means comprise at least onefuzzy logic processor.
 2. An event scheduling apparatus as in claim 1,wherein said determining means are implemented, in use, as a pluralityof participant software agents, each participant software agent beingoperable on behalf of at least one physical entity identified in thereceived event request.
 3. An event scheduling apparatus as in claim 2,wherein the evaluating means further comprise a proposer software agentoperable to receive an event request and, for one or more physicalentities identified therein, to: i) determine a value for a measure ofthe importance of the identified physical entity to the requested event,each said value being derived according to a rule set for said measureby combining information about the event with data obtained from atleast one information source associated with the identified physicalentity; and ii) generate an event proposal comprising the importancevalue from i) together with information about the event, for sending tothe respective participant software agent for the identified physicalentity.
 4. An event scheduling apparatus as in claim 1, wherein saidrule sets are personalised to respective physical entities.
 5. An eventscheduling apparatus as in claim 1, wherein the evaluating means furthercomprise adjusting means arranged to receive feedback by, or on behalfof, a physical entity in relation to an output by the scheduling meanscorresponding to a received event request in which said physical entityis identified, and to make adjustments to fuzzy sets and/or fuzzy rulesin accordance with said received feedback.
 6. An event schedulingapparatus as in claim 1, wherein the evaluating means and the schedulingmeans are implemented in a distributed manner.
 7. (canceled)
 8. Asoftware agent operable in a computer processing arrangement on behalfof at least one physical entity to evaluate event requests received overa communications network and to output a value for use by an eventscheduler indicative of the overall degree of support by said at leastone physical entity for a respective requested event, wherein thesoftware agent is responsive, on receipt of an event request comprisinginformation about the event, to apply fuzzy logic processing techniquesto combine information about the requested event with informationobtained from a plurality of information sources associated with said atleast one physical entity to determine a value for each of a pluralityof predetermined measures, said measures including a measure of theimportance of the requested event to said at least one physical entity,the value for at least one of said measures being defined by a fuzzy setand the value for at least one of said measures being derived accordingto a fuzzy rule for the measure, and to apply a further rule setcomprising at least one fuzzy rule to combine said values of saidmeasures to derive and output a value indicative of the overall degreeof support by said at least one physical entity for the requested eventfor input to an event scheduler.
 9. A software agent as in claim 8,operable to receive an output by an event scheduler generated by thescheduler in respect of a requested event using a respective said valueindicative of the overall degree of support by said at least onephysical entity for the requested event and to adjust one of more fuzzysets or fuzzy rules in respect of said at least one physical entityaccording to feedback received on behalf of said at least one physicalentity in respect of said output by the event scheduler.